package com.atguigu.school.service;

import com.atguigu.school.commons.Page;
import com.atguigu.school.pojo.Student;
import com.atguigu.school.pojo.Teacher;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 处理教师相关业务
 *
 * @author 刘逸晖
 */
public interface TeacherService {

    /**
     * 新增或更新教师信息
     * 如果没有提供 id 就是新增，否则就是更新
     *
     * @param teacher 教师信息
     */
    void saveOrUpdateTeacher(Teacher teacher);

    /**
     * 批量删除教师
     *
     * @param ids 预删除教师的 id 列表
     */
    void deleteTeachersByIds(List<Integer> ids);

    /**
     * 根据名称和所属班级的名称查教师
     *
     * @param name      教师的名称，可为空
     * @param clazzName 班级的名称，可为空
     * @param current   当前页，从 1 开始
     * @param size      每页长度
     * @return 教师列表
     */
    Page<Teacher> selectTeachersByNameAndClazzName(String name, String clazzName, Integer current, Integer size);

}
